abapGit

abapGit revolutioniert gerade die Art, wie die SAP-Community zusammen arbeiten kann. Das Addon, das Lars Hvam im Alleingang entwickelt hat, hat SAPLink inzwischen fast vollständig abgelöst und begeistert jeden, der damit einmal zu tun hatte. In diesem Artikel erfährst du, was abapGit ist, wie es funktioniert und welche Vorteile es gibt.

Github

Die Grundlage von abapGit ist die Open Source Plattform Github. Auf dieser Plattform kann Quellcode verwaltet werden. Andere Anwender können sich die Quelltexte auf ihren Computer laden, verwenden, verbessern und die verbesserte Version wieder publizieren. Zusammenarbeit wird durch diese Plattform enorm erleichtert. Es gibt auch andere Plattformen, die nach einem ähnlichen Prinzip arbeiten: Gitlab, BitBucket und so weiter. Hier gibt es eine Liste der Alternativen: https://trusted.de/github-alternativen.

Github zum Beispiel erlaubt in der kostenlosen Variante nur öffentliche Projekte. Die Plattform GitLab ermöglicht auch private Projekte, die nicht öffentlich sichtbar sind.

Der Nutzen im SAP-Umfeld

Im Gegensatz zu den meisten anderen Programmiersprachen, benötigt man einen kompletten SAP-Server, um ABAP-Programme ausführen zu können. Dieser Server steht jedoch zentral in einem Unternehmen. Damit hat man auch ein zentrales Repository und benötigt Github nicht. In diesem Fall haben alle, die SAP programmieren auch Zugriff auf den unternehmenseigenen Server. Was also bringt die Installation und die Verwendung von abapGit?

Wenn jemand im Unternehmen das Tool abapGit auf dem SAP-Entwicklungssystem installiert und den Zugang zum öffentlichen github-Repository freischalten lässt, dann können Mitarbeiter an öffentlichen ABAP-Open-Source-Projekten teilhaben. Ein Klick und die entsprechende Anwendung kann aus dem Github-Repository auf dem SAP-Server installiert werden. Es gibt mehrere Gründe, warum das jemand tun könnte:

  • Viele der Github-Projekte sind Demoprogramme oder Lernprojekte zu einem Thema. So kann man sich also schnell und einfach zu vielen Themen weiterbilden ohne dass man Tabellen, Programme, Klasse, Datenelemente etc. manuell im SAP-System anlegen muss.
  • Es werden immer mehr wertvolle Tools von SAP-begeisterten Programmierern entwickelt. Diese Tools darf ein Unternehmen kostenlos nutzen. Durch abapGit können diese einfach und gefahrlos installiert werden

Wenn ein Unternehmen kostenlose, von vielen erfahrenen Menschen programmierte Software nutzt, dann ist es nur recht und billig, dass ein Unternehmen durch die Beteiligung der eigenen Mitarbeiter auch etwas an die Gemeinschaft zurück gibt. abapGit macht es einfach möglich.

Lars Hvam hat berichtet in seinen Blogs auf blogs.sap.com über abapGit als auch über seine Open-Source-Projekte und andere Programmierthemen. Zusätzlich hat er eine Seite erstellt, auf denen ABAP-Projekte gelistet werden: http://dotabap.org/

Weitere Berichte über abapGit

https://blogs.sap.com/2017/06/21/abapgit-so-easy/

https://blogs.sap.com/2017/11/19/getting-started-open-sourcing-abap-code/

Zukunft

Die Problemlose Zusammenarbeit im ABAP-Umfeld ist immer noch Neuland. Dementsprechend sind auch die genannten Plattformen zur Speicherung von Quelltext und zur Zusammenarbeit für die meisten ABAP-Programmierer ungewohnt. Das genial andere Programm ZABAPGIT von Lars Hvam ermöglicht jedoch viele neue Möglichkeiten. Im Gegensatz zu SAPLink, das irgendwann in der Entwicklung stoppte und oftmals fehlerhaft und umständlich zu bedienen war, arbeitet abapGit sensationell einfach und sicher.

Jeder, der eine kleine Programmierung, ein Mini-Addon oder ein Lernprojekt auf dem SAP-Server erstellt hat, kann es einfach mit anderen teilen und von der Gemeinschaft verbessern lassen.

Tricktresor auf Github

Angefangen hat es gestern mit einem kleinen Blogeintrag “Varianten einer Mehrfachselektion“, den ich auf blogs.sap.com veröffentlicht habe, habe ich angefangen, den Quellcode, der im Tricktresor ja eh bereits öffentlich ist, auch auf Github zu publizieren. Alle Github-Projekte könnt ihr unter der folgenden Adresse sehen:

https://github.com/tricktresor?tab=repositories

Hier werde ich neue und auch alte Programmierungen veröffentlichen. Einerseits tue ich das, um euch den Quellcode einfacher zur Verfügung zu stellen. Andererseits sammle ich damit ebenfalls Erfahrungen um damit meine eigene Arbeit besser machen zu können als auch meine Kunden beraten zu können.

Zudem hoffe ich auch, dass vielleicht das eine oder andere kleine Programm Stück für Stück verbessert wird, auf ein neues ABAP-Release gehoben wird oder auch eine Toolsammlung entsteht, die uns allen das Leben leichter macht.

Eigene Projekte

Wenn du ein eigenes Projekt auf Github veröffentlichen möchtest, dann ist es ziemlich leicht.

abapGit installieren

Als erstes musst du abapGit auf dem SAP-Server installieren, sofern dies noch niemand vor dir getan hat. Dafür musst du abapGit herunterladen und installieren: abapgit.org Wie genau, das steht dort beschrieben.

Solltest du keine Verbindung zu github.com bekommen, so muss die HTTP-Verbindung freigeschaltet werden (SAP-Server, Router, Antivirenprogramme prüfen).

Github-Account

Sofern du noch keinen Github-Account hast, musst du einen auf https://github.com/ anlegen.

Danach kannst du direkt auf der Startseite oder über das Menü PLUS ein neues Projekt anlegen .

Hier gibst du einen Namen sowie die Beschreibung ein. In der kostenlosen Variante kannst du nur öffentliche Projekte erstellen.

Wichtig ist, dass du den Haken “Initialize this repository with a README” setzt. Eine Lizenz solltest du auch direkt auswählen. Am meisten verwendet wird die MIT-License.

Ein Klick auf Create repository erzeugt das Projekt. Herzlichen Glückwunsch!

abapGit

Theoretisch kannst du nun eine neue Datei anlegen und ABAP-Quellcode in diese Datei kopieren. Praktisch funktioniert das jedoch nicht, da abapGit noch Meta-Daten zu dem jeweiligen Objekt speichert. Diese werden nur geschrieben und später wieder erkannt, wenn du die SAP-Objekte über das Programm ZABAPGIT hinzufügst. Starte dafür die Transaktion SE38 und führe das Programm ZABAPGIT aus.

Die Startseite ist dann wahrscheinlich leer, aber in etwa wird dich folgendes Bild begrüßen:

Repository füllen

Wie bekommst du nun Programme und andere Objekte nach Github? Zuerst klonst du das gewünschte Projekt über den Link “Clone” im abapGit-Menu. Es erscheint dann folgendes Popup:

Hier trägst du dir github-URL ein sowie ein Paket. Du kannst ein lokales Paket definieren, das nicht transportiert wird (du benötigst also keinen Transportauftrag) oder du nimmst ein Z- oder Y-Paket, das einen Transport in die nachfolgenden SAP-Systeme erlaubt.

Wenn das Paket noch nicht existiert, kannst du es über die Schaltfläche “Create Package” anlegen:

du kannst für die Github-Projekte auch ein Hauptpaket definieren und dann für jedes Projekt ein eigenes Unterpaket erstellen.

Als Ergebnis erhältst du wiederum eine sehr übersichtliche Seite:

Wenn du nun ein Programm in diesem Paket anlegst, dann kannst du über Refresh prüfen, ob du das Programm auch wirklich in dem Paket angelegt hast. Es erscheint dann in der Liste.

Über den Link Stage kannst du die Daten ins Github hochladen. In der Übersicht siehst du die Objekte, die übertragen werden:

Mit Add all and commit gelangst du zum nächsten Schritt. Hier musst du deine Anmeldedaten von Github eintragen.

Danach noch dein Kennwort eingeben und es wird die Übertragung zu Github gestartet.

Ob es geklappt hat, kannst du direkt auf Github prüfen:

 

Weg frei zur Zusammenarbeit

Damit ist der Weg frei zur Zusammenarbeit mit anderen SAP-Entwicklern. Wenn dein Projekt spannend ist oder gerade diese Funktion von anderen Programmierern benötigt wird, wird sich jemand finden, der hier mitarbeitet. Du kannst deine Programme natürlich auch einfach so auf Github speichern und hauptsächlich für dich dein persönliches Lernprogramm oder Code-Fundgrube verwalten.

Happy Coding!

Enno Wulff